A motion control application is software that defines a sequence of motion steps required to perform a motion task. A motion controller is hardware and software that, in combination with a motion control device, is capable of converting motion commands into physical movement of an object. The term motion controller will be used herein to include the motion control device.
Typically, the motion commands executed by a motion controller are proprietary. The combination of a motion control software application and one or more motion controllers will be referred to herein as a motion control system.
In many cases, motion control software applications are specifically written for one or more proprietary motion controller. Therefore, if one or more new motion controllers are to be used in place of one or more original motion controllers, a motion control software application written for the original motion controller(s) must be rewritten to accommodate the new motion controller(s). A motion control software application written for one or more proprietary controllers is referred to as hardware dependent.
In general, hardware dependence is undesirable because the owner of the motion control system must either commit to the vendors of the proprietary controllers or discard the motion control application when a new motion controller is used.
The need exists for systems and methods that may be used to facilitate the writing of motion control applications that are hardware independent.